package com.ztgf.order.models.dto;

import com.baomidou.mybatisplus.annotations.TableName;
import com.ztgf.common.dto.BaseDTO;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 订单表DTO
 *
 * @author chenyu.wang
 * @Date 2020-06-03 15:32:26
 */
@Data
@TableName("order_info")
@ApiModel(value = "订单表对象", description = "订单表对象")
public class OrderInfoDTO extends BaseDTO implements Serializable {

    @ApiModelProperty(value = "订单编号")
    private String orderNo;

    @ApiModelProperty(value = "支付方式 0全款、1分批")
    private Integer payType;

    @ApiModelProperty(value = "配送方式")
    private Integer deliveryType;

    @ApiModelProperty(value = "商品件数")
    private Integer totalNum;

    @ApiModelProperty(value = "商品总价")
    private BigDecimal totalMoney;

    @ApiModelProperty(value = "店铺优惠")
    private BigDecimal discountMoney;

    @ApiModelProperty(value = "应付总额")
    private BigDecimal actualMoney;

    @ApiModelProperty(value = "运费")
    private BigDecimal freightMoney;

    @ApiModelProperty(value = "佣金")
    private BigDecimal commissionMoney;

    @ApiModelProperty(value = "收货人")
    private String userName;

    @ApiModelProperty(value = "收货人电话")
    private String userMobile;

    @ApiModelProperty(value = "收货地址区域id")
    private Long areaId;

    @ApiModelProperty(value = "收货人地址")
    private String userAddress;

    @ApiModelProperty(value = "卖家店铺id")
    private Long sellShopId;

    @ApiModelProperty(value = "买家店铺id")
    private Long buyShopId;

    @ApiModelProperty(value = "类型 0普通、1询价")
    private Integer type;

    @ApiModelProperty(value = "订单备注")
    private String orderNote;

    @ApiModelProperty(value = "下单类型 0普通 1代客下单")
    private Integer placeOrderType;

    @ApiModelProperty(value = "操作人名字")
    private String operatorName;

    @ApiModelProperty(value = "操作人Id")
    private Long operatorId;

    @ApiModelProperty(value = "最后的支付佣金")
    private BigDecimal lastCommissionMoney;
    @ApiModelProperty(value = "已退佣金")
    private BigDecimal refundCommissionMoney;

    @ApiModelProperty(value = "卖家店铺类型 0 担保交易 1先款交易")
    private Integer sellPayType;

    @ApiModelProperty(value = "商品砍价成功后的服务费")
    private BigDecimal purchaseFeeMoneyScalePrice;

    @ApiModelProperty(value = "商品砍价成功后的服务费状态 0未处理，1支付中、2支付成、3支付失败")
    private Integer purchaseFeeMoneyScalePriceStatus;
    @ApiModelProperty(value = "商品砍价成功后的服务费退款状态 0未处理，1支付中、2支付成、3支付失败")
    private Integer purchaseFeeMoneyScalePriceBackStatus;
    @ApiModelProperty(value = "商品砍价成功后的服务费冻结状态 0未冻结，1冻结")
    private Integer purchaseFeeMoneyScalePriceFreezeStatus;

    @ApiModelProperty(value = "询盘订单类型;0普通、1询价")
    private Integer purchaseOrderType;
    @ApiModelProperty(value = "同步平台开票技术服务费：0未同步，1已同步")
    private Integer synchronizationShopSysInvoiceType;
}